/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.mycompany.entidades;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author johnny
 */
@Entity
@Table(catalog = "celulares", schema = "")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "ServicioTecnico.findAll", query = "SELECT s FROM ServicioTecnico s"),
    @NamedQuery(name = "ServicioTecnico.findByIdServicioTecnico", query = "SELECT s FROM ServicioTecnico s WHERE s.idServicioTecnico = :idServicioTecnico"),
    @NamedQuery(name = "ServicioTecnico.findByNumeroSerie", query = "SELECT s FROM ServicioTecnico s WHERE s.numeroSerie = :numeroSerie"),
    @NamedQuery(name = "ServicioTecnico.findByFecha", query = "SELECT s FROM ServicioTecnico s WHERE s.fecha = :fecha"),
    @NamedQuery(name = "ServicioTecnico.findByChip", query = "SELECT s FROM ServicioTecnico s WHERE s.chip = :chip"),
    @NamedQuery(name = "ServicioTecnico.findByMemoria", query = "SELECT s FROM ServicioTecnico s WHERE s.memoria = :memoria"),
    @NamedQuery(name = "ServicioTecnico.findByEstado", query = "SELECT s FROM ServicioTecnico s WHERE s.estado = :estado"),
    @NamedQuery(name = "ServicioTecnico.findByDatos", query = "SELECT s FROM ServicioTecnico s WHERE s.datos = :datos")})
public class ServicioTecnico
  implements Serializable
{
  private static final long serialVersionUID = 1L;

  @Id
  @GeneratedValue(strategy=GenerationType.IDENTITY)
  @Basic(optional=false)
  @Column(nullable=false)
  private Integer idServicioTecnico;

  @Column(length=45)
  private String numeroSerie;

  @Column(name="fecha")
  @Temporal(TemporalType.DATE)
  private Date fecha;

  @Column(length=25)
  private String chip;

  @Column(length=25)
  private String memoria;

  @Lob
  @Column(length=65535)
  private String fallo;

  @Lob
  @Column(length=65535)
  private String observaciones;
  private Integer estado;

  @Column(length=45)
  private String datos;

  @Column(precision=22)
  private Double paga;

  @JoinColumn(name="cedula_cliente", referencedColumnName="cedula", nullable=false)
  @ManyToOne(optional=false)
  private Cliente cedulaCliente;

  public ServicioTecnico()
  {
  }

  public ServicioTecnico(Integer idServicioTecnico)
  {
    this.idServicioTecnico = idServicioTecnico;
  }

  public Integer getIdServicioTecnico() {
    return this.idServicioTecnico;
  }

  public void setIdServicioTecnico(Integer idServicioTecnico) {
    this.idServicioTecnico = idServicioTecnico;
  }

  public String getNumeroSerie() {
    return this.numeroSerie;
  }

  public void setNumeroSerie(String numeroSerie) {
    this.numeroSerie = numeroSerie;
  }

  public Date getFecha() {
    return this.fecha;
  }

  public void setFecha(Date fecha) {
    this.fecha = fecha;
  }

  public String getChip() {
    return this.chip;
  }

  public void setChip(String chip) {
    this.chip = chip;
  }

  public String getMemoria() {
    return this.memoria;
  }

  public void setMemoria(String memoria) {
    this.memoria = memoria;
  }

  public String getFallo() {
    return this.fallo;
  }

  public void setFallo(String fallo) {
    this.fallo = fallo;
  }

  public String getObservaciones() {
    return this.observaciones;
  }

  public void setObservaciones(String observaciones) {
    this.observaciones = observaciones;
  }

  public Integer getEstado() {
    return this.estado;
  }

  public void setEstado(Integer estado) {
    this.estado = estado;
  }

  public String getDatos() {
    return this.datos;
  }

  public void setDatos(String datos) {
    this.datos = datos;
  }

  public Cliente getCedulaCliente() {
    return this.cedulaCliente;
  }

  public void setCedulaCliente(Cliente cedulaCliente) {
    this.cedulaCliente = cedulaCliente;
  }

  public Double getPaga() {
    return this.paga;
  }

  public void setPaga(Double paga) {
    this.paga = paga;
  }

  public int hashCode()
  {
    int hash = 0;
    hash += (this.idServicioTecnico != null ? this.idServicioTecnico.hashCode() : 0);
    return hash;
  }

  public boolean equals(Object object)
  {
    if (!(object instanceof ServicioTecnico)) {
      return false;
    }
    ServicioTecnico other = (ServicioTecnico)object;
    if (((this.idServicioTecnico == null) && (other.idServicioTecnico != null)) || ((this.idServicioTecnico != null) && (!this.idServicioTecnico.equals(other.idServicioTecnico)))) {
      return false;
    }
    return true;
  }

  public String toString()
  {
    return "com.mycompany.entidades.ServicioTecnico[ idServicioTecnico=" + this.idServicioTecnico + " ]";
  }
}